package com.transaction.demo.base.service;

import com.transaction.demo.base.vo.req.SaveRoleMenuListReqVo;
import com.transaction.demo.base.vo.resp.RoleMenuRespVo;
import com.transaction.demo.common.util.ResultPage;
import com.transaction.demo.base.vo.req.SysRoleReqVo;
import com.transaction.demo.base.vo.req.SysRoleListReqVo;
import com.transaction.demo.base.vo.req.SysRoleAddReqVo;
import com.transaction.demo.base.vo.req.SysRoleUpdateReqVo;
import com.transaction.demo.base.vo.resp.SysRoleRespVo;

/**
 * 描述：角色表
 * 作者：马庆智
 * 日期：2023/03/28 17:07:14
 */
public interface SysRoleService {

	/**
	 * 查询角色表
	 *
	 * @param sysRole 请求参数
	 * @return SysRoleResp
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	SysRoleRespVo querySysRole(SysRoleReqVo sysRole);

	/**
	 * 查询角色表列表
	 *
	 * @param sysRole 请求参数
	 * @return ResultPage<SysRoleResp>
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	ResultPage<SysRoleRespVo> querySysRoleList(SysRoleListReqVo sysRole);

	/**
	 * 添加角色表
	 *
	 * @param sysRole 请求参数
	 * @return int
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	int saveSysRole(SysRoleAddReqVo sysRole);

	/**
	 * 删除角色表
	 *
	 * @param ids 请求参数
	 * @return int
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	int deleteSysRole(String ids);

	/**
	 * 更新角色表
	 *
	 * @param sysRole 请求参数
	 * @return int
	 * @author 马庆智
	 * @date: 2023/03/28 17:07:14
	 */
	int updateSysRole(SysRoleUpdateReqVo sysRole);

	/**
	 * 角色菜单
	 *
	 * @param roleId 角色id
	 * @return list
	 * @author 马庆智
	 * @date: 2023/3/30 9:29
	 */
	RoleMenuRespVo queryRoleMenuList(Integer roleId);

	/**
	 * 分配角色菜单
	 *
	 * @param record 请求参数
	 * @return SysUserResp
	 * @author 马庆智
	 * @date: 2023/3/30 9:18
	 */
	Integer saveRoleMenuList(SaveRoleMenuListReqVo record);
}